//package com.kk.config;
//
//import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
//import lombok.extern.slf4j.Slf4j;
//import org.apache.ibatis.reflection.MetaObject;
//import org.springframework.stereotype.Component;
//
//import java.time.LocalDateTime;
//
///**
// * @author kl
// * @version 1.0
// * @description: MyBatis-Plus 元数据对象处理器
// * 用于自动填充公共字段
// * @date 2025/10/31 下午2:27
// */
//@Slf4j
//@Component
//public class MyMetaObjectHandler implements MetaObjectHandler {
//
//    /**
//     * 插入时的填充策略
//     *
//     * @param metaObject 元数据对象
//     */
//    @Override
//    public void insertFill(MetaObject metaObject) {
//        log.debug("开始插入填充...");
//
//        // 填充创建时间
//        this.strictInsertFill(metaObject, "createTime", LocalDateTime.class, LocalDateTime.now());
//
//        // 填充更新时间
//        this.strictInsertFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now());
//
//        // 如果有创建人字段，可以通过 SecurityContextHolder 获取当前用户
//        // this.strictInsertFill(metaObject, "createBy", String.class, getCurrentUsername());
//    }
//
//    /**
//     * 更新时的填充策略
//     *
//     * @param metaObject 元数据对象
//     */
//    @Override
//    public void updateFill(MetaObject metaObject) {
//        log.debug("开始更新填充...");
//
//        // 填充更新时间
//        this.strictUpdateFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now());
//
//        // 如果有更新人字段，可以通过 SecurityContextHolder 获取当前用户
//        // this.strictUpdateFill(metaObject, "updateBy", String.class, getCurrentUsername());
//    }
//
//    /**
//     * 获取当前登录用户名
//     * 该方法需要根据您的安全框架实现
//     *
//     * @return 当前用户名
//     */
//    // private String getCurrentUsername() {
//    //     Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
//    //     if (authentication != null && authentication.isAuthenticated()) {
//    //         return authentication.getName();
//    //     }
//    //     return "system";
//    // }
//}